<template>
    <div class="main">
        <div style="position: relative;width: 99.8%;height: 94%;display: flex;align-items: center;  background: #ffffff;
        box-shadow: 0px 0px 1px 1PX rgb(242, 240, 240);" :key="flushKey">
            <div style="position: relative;width: 5px;"></div>
            <div v-for="(item, index) in this.$store.state.homex.labelList">
                <div style="position: relative;justify-content: center;align-items: center;">

                    <el-tag class="tags-view-item" :key="item.menuName" @click="nextpath(item.menuRouter)" closable
                        @close="handleClose(item.menuName)" v-if="isActive(item.menuRouter)">
                        {{ item.menuName }}
                    </el-tag>
                    <el-tag class="tags-view-item" :key="item.menuName" @click="nextpath(item.menuRouter)" closable
                        @close="handleClose(item.menuName)" v-if="!isActive(item.menuRouter)" type="info">
                        {{ item.menuName }}
                    </el-tag>
                </div>

            </div>
        </div>

    </div>
</template>
  
<script>


export default {
    // 组件名称
    name: 'rightHomeUp',
    // 组件参数 接收来自父组件的数据
    props: {},
    // 局部注册的组件
    components: {

    },
    // 组件状态值
    data() {
        return {
            flushKey: 0,
        }
    },
    // 计算属性
    computed: {},
    // 侦听器
    watch: {
        $route(to, from) {
            this.flushKey ++;
        }
    },
    // 组件方法
    methods: {
        //跳转路由
        nextpath(pather) {
            this.$router.push({
                path: `/${pather}`,
            });
        },
        //去除标签
        handleClose(names) {
            this.$store.commit("homex/DELETELABELLIST", names);
        },
        //查看当前标签的path
        isActive(paths) {
            return this.$router.currentRoute.fullPath == '/' + paths;
        }
    },
    // 以下是生命周期钩子   注：没用到的钩子请自行删除
    /**
    * 在实例初始化之后，组件属性计算之前，如data属性等
    */
    beforeCreate() {
    },
    /**
    * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
    */
    created() {

    },
    /**
    * 在挂载开始之前被调用：相关的 render 函数首次被调用。
    */
    beforeMount() {
    },
    /**
    * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
    * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
    */
    mounted() {
    },
    /**
    * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
    * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
    */
    beforeUpdate() {
    },
    /**
    * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
    * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
    */
    updated() {
    },
    /**
    * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
    */
    activated() {
    },
    /**
    * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
    */
    deactivated() {
    },
    /**
    * 实例销毁之前调用。在这一步，实例仍然完全可用。
    */
    beforeDestroy() {
    },
    /**
    * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
    * 所有的事件监听器会被移除，所有的子实例也会被销毁。
    */
    destroyed() {
    }
}
</script> 
  
  
<style scoped >
.main {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main .tags-view-item {
  display: inline-block;
  height: 26px;
  line-height: 26px;
  border: 1px solid #d8dce5;
  padding: 0 8px;
  margin-top: 1px;
  margin-left: 10px;
  font-size: 14px;
  cursor: pointer;
}
.main .tags-view-item:first-of-type {
  margin-left: 10px;
}
.main .tags-view-item:last-of-type {
  margin-right: 5px;
}

</style>